<?php
 // Variables :
 //  $r : Repartition de remplissage (ABCDEF...)
 //  $c : Couleur de Remplissage (RRVVBBRRVVBBRRVVBB...)
 //  $t : Type de saisie (A=Absence;B=retard;C=Dispense)
 //  $a : Lettre de la couleur alternative (correspond au fond)
 //
 If (IsSet ($_POST ["r"])) { $r = $_POST ["r"] ; } ElseIf (IsSet ($_GET ["r"])) { $r = $_GET ["r"] ; }
 If (IsSet ($_POST ["c"])) { $c = $_POST ["c"] ; } ElseIf (IsSet ($_GET ["c"])) { $c = $_GET ["c"] ; }
 If (IsSet ($_POST ["t"])) { $t = $_POST ["t"] ; } ElseIf (IsSet ($_GET ["t"])) { $t = $_GET ["t"] ; }
 If (IsSet ($_POST ["a"])) { $a = $_POST ["a"] ; } ElseIf (IsSet ($_GET ["a"])) { $a = $_GET ["a"] ; }
 // Creation de l'image
 $largeur = 2 ;
 $hauteur = StrLen ($r) ;
 //If ($hauteur < 24) { $hauteur = 24 ; }
 $img = @ImageCreate ($largeur, $hauteur) Or Die ("Je ne peux pas initialiser la bibliotheque GD : Voir l'administrateur reseau") ;
 // Recuperation des couleurs et attribution lettre
 $nbr_c = StrLen ($c)/6 ;
 For ($i = 0 ; $i < $nbr_c ; $i++)
  {
   $rouge = (integer)HexDec (SubStr ($c, $i*6, 2)) ;
   $vert = (integer)HexDec (SubStr ($c, $i*6+2, 2)) ;
   $bleu = (integer)HexDec (SubStr ($c, $i*6+4, 2)) ;
   $table_couleurs [Chr (65+$i)] = ImageColorAllocate ($img, $rouge, $vert, $bleu) ;
  }
 @ImageFill ($img, 0, 0, $table_couleurs [$a]) ;
 For ($i = 0 ; $i < StrLen ($r) ; $i++)
  {
   For ($j = 0 ; $j < $largeur/2 ; $j++)
    {
     ImageSetPixel ($img, $j, $i, $table_couleurs [SubStr ($r, $i, 1)]) ;
    }
   For ($j = $largeur/2 ; $j < $largeur ; $j++)
    {
     If ((SubStr ($t, $i, 1) == "A") Or (SubStr ($t, $i, 1) == "C"))
      { ImageSetPixel ($img, $j, $i, $table_couleurs [SubStr ($r, $i, 1)]) ; }
     Else { ImageSetPixel ($img, $j, $i, $table_couleurs [$a]) ; }
    }
  }
 Header ("Content-type: image/png") ;
 @ImagePng ($img) ;
 @ImageDestroy ($img) ;
?>